﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class SectorEmpresarial_SectorEmp : System.Web.UI.Page
{
    
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["nit"] != null)
            Response.Redirect("/SUEWebSite/Error.aspx");
        //-------------------------Lineas Agregadas para la seguridad----------------------------------------------------
        else if (Session["nomUsr"] != null)
        {
            List<String> Permisos = (List<String>)Session["Permisos"];

            if (!Permisos.Contains(System.IO.Path.GetFileName(HttpContext.Current.Request.FilePath)))
                Response.Redirect("/SUEWebSite/Error.aspx");
            else
            {
                DropDownListSectores.Visible = false;
                ButtonRegSector.Visible = false;
                ButtonElim.Visible = false;
                ButtonNo.Visible = false;
                ButtonSi.Visible = false;
                Notificacion.Visible = false;
                ButtonMod.Visible = false;
                TextBoxModSE.Visible = false;
                ButtonModGuardar.Visible = false;
                ButtonModCancelar.Visible = false;
                Label1.Text = "Nombre";
            }

        }
        else Response.Redirect("/SUEWebSite/Principal.aspx");

        //-------------------------Lineas Agregadas para la seguridad----------------------------------------------------

      
        
     }

    

    private void CargarListSectores()
    {
        DropDownListSectores.Items.Clear();
        SectorEmp Semp = new SectorEmp();
        List<SectorEmp> listSemp = Semp.consultarSectorEmp();

        foreach (SectorEmp sem in listSemp)
        {
            DropDownListSectores.Items.Add(sem.ObtNombre());
        }

    }



    protected void ButtonRegSector_Click(object sender, EventArgs e)
    {
        ButtonBuscar.Visible = true;
        TextBoxNombreSec.Visible = true;
        ButtonReg.Visible = true;
    }
    protected void ButtonBuscar_Click(object sender, EventArgs e)
    {
        CargarListSectores();
        ButtonRegSector.Visible = true;
        ButtonBuscar.Visible = false;
        DropDownListSectores.Visible = true;
        TextBoxNombreSec.Visible = false;
        ButtonReg.Visible = false;
        ButtonElim.Visible = true;
        ButtonMod.Visible = true;
    }
    protected void ButtonElim_Click(object sender, EventArgs e)
    {
        
        Notificacion.Visible = true;
        Label1.Text = "";
        Notificacion.Text = "Desea eliminar el sector " + DropDownListSectores.SelectedItem.ToString() + " ?";
        ButtonSi.Visible = true;
        ButtonNo.Visible = true;
    }
    protected void ButtonReg_Click(object sender, EventArgs e)
    {
        CargarListSectores();   
        Notificacion.Visible = true;
        Notificacion.Text = "";
        if (TextBoxNombreSec.Text != "")
        {
            if (DropDownListSectores.Items.FindByValue(TextBoxNombreSec.Text.ToLower()) == null)
            {
                SectorEmp semp = new SectorEmp(TextBoxNombreSec.Text.ToLower());
                semp.CrearSector();
                TextBoxNombreSec.Text = "";
                
                ScriptManager.RegisterStartupScript(this, this.GetType(), "myscript", "$.modaldialog.success('El sector ha sido registrado', {timeout: 2 , showClose: false });", true);
            }
            else
                ScriptManager.RegisterStartupScript(this, this.GetType(), "myscript", "$.modaldialog.error('El sector ya existe', {timeout: 2 , showClose: false });", true);
        }
        else Notificacion.Text = "El campo es obligatorio";
     
    }


    protected void ButtonSi_Click(object sender, EventArgs e)
    {
        SectorEmp semp = new SectorEmp();
        Notificacion.Visible = true;
        if (semp.EliminarSectorEmp(DropDownListSectores.SelectedItem.ToString()) == true)
        {
            TextBoxNombreSec.Text = "";

            ScriptManager.RegisterStartupScript(this, this.GetType(), "myscript", "$.modaldialog.success('El sector ha sido eliminado', {timeout: 2 , showClose: false });", true);
        }
        else
            ScriptManager.RegisterStartupScript(this, this.GetType(), "myscript", "$.modaldialog.warning('No se puede eliminar este sector, porque tiene datos de empresas asociados', {timeout: 2 , showClose: false });", true);

        Notificacion.Visible = false;
        cargarPrincipal();

    }

    private void cargarPrincipal()
    {
        TextBoxNombreSec.Visible = true;
        ButtonReg.Visible = true;
        ButtonBuscar.Visible = true;
    }

    protected void ButtonNo_Click(object sender, EventArgs e)
    {
        cargarPrincipal();

    }
    protected void ButtonMod_Click(object sender, EventArgs e)
    {
        cargarMod();
    }
    protected void ButtonModCancelar_Click(object sender, EventArgs e)
    {
        cargarPrincipal();
    }
    protected void ButtonModGuardar_Click(object sender, EventArgs e)
    {
        Notificacion.Visible = true;
        Notificacion.Text = "";
        if (TextBoxModSE.Text != "")
        {
            if (DropDownListSectores.Items.FindByValue(TextBoxModSE.Text.ToLower()) == null)
            {

                SectorEmp semp = new SectorEmp();
                if (semp.ActualizarSectorEmp(DropDownListSectores.SelectedItem.ToString(), TextBoxModSE.Text.ToLower()) == true)
                {
                    TextBoxModSE.Text = "";
                    ScriptManager.RegisterStartupScript(this, this.GetType(), "myscript", "$.modaldialog.success('El sector ha sido actualizado', {timeout: 2 , showClose: false });", true);
                    
                }
                else
                    ScriptManager.RegisterStartupScript(this, this.GetType(), "myscript", "$.modaldialog.warning('No se puede modificar este sector, porque tiene datos de empresas asociados', {timeout: 2 , showClose: false });", true);
                    
                
            }
            else
                ScriptManager.RegisterStartupScript(this, this.GetType(), "myscript", "$.modaldialog.error('No se pudo modificar, el sector ya existe', {timeout: 2 , showClose: false });", true);
                

            cargarPrincipal();

        }
        else
        {
            cargarMod();
            Notificacion.Text = "Debe ingresar un nombre para " + DropDownListSectores.SelectedItem.ToString();

        }
        
    }

    private void cargarMod()
    {
        ButtonModGuardar.Visible = true;
        ButtonModCancelar.Visible = true;
        TextBoxModSE.Visible = true;
        Label1.Text = "";
        Notificacion.Visible = true;
        Notificacion.Text = "Ingrese el nuevo nombre para el sector " + DropDownListSectores.SelectedItem.ToString();
    }
    
}
